home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc International / Development / TSMTEsample⁄1.1 / _SOM_ / som_SamplePart.cpp next >
Encoding:
Text File  |  1996-11-14  |  26.1 KB  |  808 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        som_SamplePart.cpp
  3.  
  4.     Contains:    Sample Part's SOM based part public interface implementation
  5.  
  6.     Written by:    Steve Smith
  7.     
  8.     Copyright:    © 1995 by Apple Computer, Inc., all rights reserved.
  9.     
  10.     ----------------------------------------------------------------
  11.     
  12.     Notes:        SamplePart is implemented using a "wrapped" class strategy.
  13.                 This means that the SOM class is just a smart delegator and
  14.                 the real implementation lives in a C++ class. The reason for
  15.                 doing this is twofold. First, this strategy all but elimintates
  16.                 the need for you to have to modify the IDL file and run the
  17.                 SOM compiler/emitter. Secondly, given that all code changes
  18.                 will occur in the C++ class, build turn around time is reduced
  19.                 to however fast the compiler can crunch code.
  20.                 
  21.                 This is not to say that implementing pure SOM classes isn't
  22.                 possible, nor necessary. There will be objects (ie. Extensions)
  23.                 which need to be exported for other parts to use which will need
  24.                 to be written in IDL and SOM implementation files.
  25. */
  26.  
  27. // Notification that this is a SOM source file
  28. #define SampleCode_som_SamplePart_Class_Source
  29.  
  30. // define underscore field names (ie. _fSelf)
  31. #define VARIABLE_MACROS
  32.  
  33. // -- Compiler/Preprocessor Switches --
  34.  
  35. #ifndef _COMPILERDEFS_
  36. #include "CompDefs.h"
  37. #endif
  38.  
  39. // -- OpenDoc Utilities --
  40.  
  41. #ifndef _EXCEPT_
  42. // Exceptions define several important macros (ie. CHECKENV)
  43. // which are used in the SOM method dispatch glue. If Except.h
  44. // is not included early enough, exceptions may not be thrown
  45. // correctly when returning from a SOM method with the "ev" parameter set.
  46. #include <Except.h>
  47. #endif
  48.  
  49. // -- SamplePart Includes --
  50.  
  51. #ifndef SOM_SampleCode_som_SamplePart_xih
  52. #include "som_SamplePart.xih"
  53. #endif
  54.  
  55. #ifndef _SAMPLEPART_
  56. #include "SamplePart.h"
  57. #endif
  58.  
  59. #ifndef _SAMPLEPARTDEF_
  60. #include "SamplePartDef.h"
  61. #endif
  62.  
  63. // -- OpenDoc Includes --
  64.  
  65. #ifndef _ODTYPES_
  66. #include <ODTypes.h>
  67. #endif
  68.  
  69. #ifndef SOM_ODPart_xh
  70. #include <Part.xh>
  71. #endif
  72.  
  73. #pragma segment somSamplePart
  74.  
  75. //====================================================================
  76. // som_SamplePart
  77. //====================================================================
  78.  
  79. SOM_Scope void  SOMLINK som_SamplePart__somInit(SampleCode_som_SamplePart *somSelf)
  80. {
  81.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  82.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__somInit");
  83.  
  84.     // somInit and somUninit methods behave like C++ constructors in that the
  85.     // inherited methods are called automatically. Thus, there is no need to
  86.     // call the parent class' somInit or somUninit.
  87.     
  88.     // There is also no need to set instance variables to zero/NULL
  89.     // since SOM guarantees that a newly constructed object is zeroed.
  90.     
  91.     // Lastly, it is not valid to perform any operation here which may throw
  92.     // an exception.
  93. }
  94.  
  95. SOM_Scope void  SOMLINK som_SamplePart__somUninit(SampleCode_som_SamplePart *somSelf)
  96. {
  97.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  98.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__somUninit");
  99.  
  100.     delete _fPart;
  101. }
  102.  
  103. SOM_Scope void  SOMLINK som_SamplePart__InitPart(SampleCode_som_SamplePart *somSelf, Environment *ev,
  104.         ODStorageUnit* storageUnit,
  105.         ODPart* partWrapper)
  106. {
  107.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  108.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__InitPart");
  109.  
  110.     SOM_TRY
  111.         // Create the real C++ SamplePart.        
  112.         _fPart = new SamplePart;
  113.  
  114.         SampleCode_som_SamplePart_parent_ODPart_InitPart(somSelf,ev,storageUnit,partWrapper);
  115.         _fPart->InitPart(ev,storageUnit,partWrapper);
  116.     SOM_CATCH_ALL
  117.     SOM_ENDTRY
  118. }
  119.  
  120. SOM_Scope void  SOMLINK som_SamplePart__InitPartFromStorage(SampleCode_som_SamplePart *somSelf, Environment *ev,
  121.         ODStorageUnit* storageUnit,
  122.         ODPart* partWrapper)
  123. {
  124.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  125.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__InitPartFromStorage");
  126.  
  127.     SOM_TRY
  128.         // Create the real C++ SamplePart.        
  129.         _fPart = new SamplePart;
  130.  
  131.         SampleCode_som_SamplePart_parent_ODPart_InitPartFromStorage(somSelf,ev,storageUnit,partWrapper);
  132.         _fPart->InitPartFromStorage(ev,storageUnit,partWrapper);
  133.     SOM_CATCH_ALL
  134.     SOM_ENDTRY
  135. }
  136.  
  137. SOM_Scope void  SOMLINK som_SamplePart__Externalize(SampleCode_som_SamplePart *somSelf, Environment *ev)
  138. {
  139.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  140.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__Externalize");
  141.  
  142.     SOM_TRY
  143.         SampleCode_som_SamplePart_parent_ODPart_Externalize(somSelf,ev);
  144.         _fPart->Externalize(ev);
  145.     SOM_CATCH_ALL
  146.     SOM_ENDTRY
  147. }
  148.  
  149. SOM_Scope ODSize  SOMLINK som_SamplePart__Purge(SampleCode_som_SamplePart *somSelf, Environment *ev,
  150.         ODSize size)
  151. {
  152.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  153.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__Purge");
  154.  
  155.     ODSize result;
  156.  
  157.     SOM_TRY
  158.         result = _fPart->Purge(ev,size);
  159.     SOM_CATCH_ALL
  160.         result = 0;
  161.     SOM_ENDTRY
  162.     
  163.     return result;
  164. }
  165.  
  166. SOM_Scope void  SOMLINK som_SamplePart__Release(SampleCode_som_SamplePart *somSelf, Environment *ev)
  167. {
  168.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  169.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__Release");
  170.  
  171.     SOM_TRY
  172.         SampleCode_som_SamplePart_parent_ODPart_Release(somSelf,ev);
  173.         _fPart->Release(ev);
  174.     SOM_CATCH_ALL
  175.     SOM_ENDTRY
  176. }
  177.  
  178. SOM_Scope void  SOMLINK som_SamplePart__ReleaseAll(SampleCode_som_SamplePart *somSelf, Environment *ev)
  179. {
  180.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  181.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__ReleaseAll");
  182.  
  183.     SOM_TRY
  184.         _fPart->ReleaseAll(ev);
  185.         SampleCode_som_SamplePart_parent_ODPart_ReleaseAll(somSelf,ev);
  186.     SOM_CATCH_ALL
  187.     SOM_ENDTRY
  188. }
  189.  
  190. SOM_Scope ODExtension*  SOMLINK som_SamplePart__AcquireExtension(SampleCode_som_SamplePart *somSelf, Environment *ev,
  191.         ODType extensionName)
  192. {
  193.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__GetExtension");
  194.  
  195.     ODExtension* result;
  196.  
  197.     SOM_TRY
  198.         // We don't support any extensions, but one of our parent classes might;
  199.         result = SampleCode_som_SamplePart_parent_ODPart_AcquireExtension(somSelf,ev,extensionName);
  200.     SOM_CATCH_ALL
  201.         result = kODNULL;
  202.     SOM_ENDTRY
  203.  
  204.     return result;
  205. }
  206.  
  207. SOM_Scope ODBoolean  SOMLINK som_SamplePart__HasExtension(SampleCode_som_SamplePart *somSelf, Environment *ev,
  208.         ODType extensionName)
  209. {
  210.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__HasExtension");
  211.  
  212.     ODBoolean result;
  213.  
  214.     SOM_TRY
  215.         // We don't support any extensions, but one of our parent classes might;
  216.         result = SampleCode_som_SamplePart_parent_ODPart_HasExtension(somSelf,ev,extensionName);
  217.     SOM_CATCH_ALL
  218.         result = kODFalse;
  219.     SOM_ENDTRY
  220.  
  221.     return result;
  222. }
  223.  
  224. SOM_Scope void  SOMLINK som_SamplePart__ReleaseExtension(SampleCode_som_SamplePart *somSelf, Environment *ev,
  225.         ODExtension* extension)
  226. {
  227.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__ReleaseExtension");
  228.  
  229.     SOM_TRY
  230.         // We don't support any extensions, but one of our parent classes might;
  231.         SampleCode_som_SamplePart_parent_ODPart_ReleaseExtension(somSelf,ev,extension);
  232.     SOM_CATCH_ALL
  233.     SOM_ENDTRY
  234. }
  235.  
  236. SOM_Scope void  SOMLINK som_SamplePart__FulfillPromise(SampleCode_som_SamplePart *somSelf, Environment *ev,
  237.         ODStorageUnitView* /*promiseSUView*/)
  238. {
  239.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__FulfillPromise");
  240. }
  241.  
  242. SOM_Scope void  SOMLINK som_SamplePart__DropCompleted(SampleCode_som_SamplePart *somSelf, Environment *ev,
  243.         ODPart* ,
  244.         ODDropResult dropResult)
  245. {
  246.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__DropCompleted");
  247. }
  248.  
  249. SOM_Scope ODDragResult  SOMLINK som_SamplePart__DragEnter(SampleCode_som_SamplePart *somSelf, Environment *ev,
  250.         ODDragItemIterator* /*dragInfo*/,
  251.         ODFacet* /*facet*/,
  252.         ODPoint* /*where*/)
  253. {
  254.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__DragEnter");
  255.  
  256.     return kODFalse;
  257. }
  258.  
  259. SOM_Scope ODDragResult  SOMLINK som_SamplePart__DragWithin(SampleCode_som_SamplePart *somSelf, Environment *ev,
  260.         ODDragItemIterator* /*dragInfo*/,
  261.         ODFacet* /*facet*/,
  262.         ODPoint* /*where*/)
  263. {
  264.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__DragWithin");
  265.  
  266.     return kODFalse;
  267. }
  268.  
  269. SOM_Scope void  SOMLINK som_SamplePart__DragLeave(SampleCode_som_SamplePart *somSelf, Environment *ev,
  270.         ODFacet* /*facet*/,
  271.         ODPoint* /*where*/)
  272. {
  273.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__DragLeave");
  274. }
  275.  
  276. SOM_Scope ODDropResult  SOMLINK som_SamplePart__Drop(SampleCode_som_SamplePart *somSelf, Environment *ev,
  277.         ODDragItemIterator* /*dropInfo*/,
  278.         ODFacet* /*facet*/,
  279.         ODPoint* /*where*/)
  280. {
  281.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__Drop");
  282.  
  283.     return kODDropFail;
  284. }
  285.  
  286. SOM_Scope ODBoolean  SOMLINK som_SamplePart__RevealFrame(SampleCode_som_SamplePart *somSelf, Environment *ev,
  287.         ODFrame* /*embeddedFrame*/,
  288.         ODShape* /*revealShape*/)
  289. {
  290.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__RevealFrame");
  291.  
  292.     return kODFalse;
  293. }
  294.  
  295. SOM_Scope ODBoolean  SOMLINK som_SamplePart__EditInLinkAttempted(SampleCode_som_SamplePart *somSelf, Environment *ev,
  296.         ODFrame* frame)
  297. {
  298.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__EditInLinkAttempted");
  299.  
  300.     return kODFalse;
  301. }
  302.  
  303. SOM_Scope void  SOMLINK som_SamplePart__EmbeddedFrameUpdated(SampleCode_som_SamplePart *somSelf, Environment *ev,
  304.         ODFrame* frame,
  305.         ODUpdateID change)
  306. {
  307.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__EmbeddedFrameChanged");
  308. }
  309.  
  310. SOM_Scope void  SOMLINK som_SamplePart__EmbeddedFrameSpec(SampleCode_som_SamplePart *somSelf, Environment *ev,
  311.         ODFrame* /*embeddedFrame*/,
  312.         ODObjectSpec* /*spec*/)
  313. {
  314.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__EmbeddedFrameSpec");
  315. }
  316.  
  317. SOM_Scope void  SOMLINK som_SamplePart__ContainingPartPropertiesUpdated(SampleCode_som_SamplePart *somSelf, Environment *ev,
  318.         ODFrame* frame,
  319.         ODStorageUnit* propertyUnit)
  320. {
  321.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__ContainingPartPropertiesChanged");
  322. }
  323.  
  324. SOM_Scope void  SOMLINK som_SamplePart__DisplayFrameAdded(SampleCode_som_SamplePart *somSelf, Environment *ev,
  325.         ODFrame* frame)
  326. {
  327.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  328.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__DisplayFrameAdded");
  329.  
  330.     SOM_TRY
  331.         _fPart->DisplayFrameAdded(ev,frame);
  332.     SOM_CATCH_ALL
  333.     SOM_ENDTRY
  334. }
  335.  
  336. SOM_Scope void  SOMLINK som_SamplePart__DisplayFrameRemoved(SampleCode_som_SamplePart *somSelf, Environment *ev,
  337.         ODFrame* frame)
  338. {
  339.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  340.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__DisplayFrameRemoved");
  341.  
  342.     SOM_TRY
  343.         _fPart->DisplayFrameRemoved(ev,frame);
  344.     SOM_CATCH_ALL
  345.     SOM_ENDTRY
  346. }
  347.  
  348. SOM_Scope void  SOMLINK som_SamplePart__DisplayFrameConnected(SampleCode_som_SamplePart *somSelf, Environment *ev,
  349.         ODFrame* frame)
  350. {
  351.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  352.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__DisplayFrameConnected");
  353.  
  354.     SOM_TRY
  355.         _fPart->DisplayFrameConnected(ev,frame);
  356.     SOM_CATCH_ALL
  357.     SOM_ENDTRY
  358. }
  359.  
  360. SOM_Scope void  SOMLINK som_SamplePart__DisplayFrameClosed(SampleCode_som_SamplePart *somSelf, Environment *ev,
  361.         ODFrame* frame)
  362. {
  363.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  364.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__DisplayFrameClosed");
  365.  
  366.     SOM_TRY
  367.         _fPart->DisplayFrameClosed(ev,frame);
  368.     SOM_CATCH_ALL
  369.     SOM_ENDTRY
  370. }
  371.  
  372. SOM_Scope void  SOMLINK som_SamplePart__AttachSourceFrame(SampleCode_som_SamplePart *somSelf, Environment *ev,
  373.         ODFrame* frame,
  374.         ODFrame* sourceFrame)
  375. {
  376.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  377.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__AttachSourceFrame");
  378.  
  379.     SOM_TRY
  380.         _fPart->AttachSourceFrame(ev,frame,sourceFrame);
  381.     SOM_CATCH_ALL
  382.     SOM_ENDTRY
  383. }
  384.  
  385. SOM_Scope void  SOMLINK som_SamplePart__FrameShapeChanged(SampleCode_som_SamplePart *somSelf, Environment *ev,
  386.         ODFrame* frame)
  387. {
  388.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  389.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__FrameShapeChanged");
  390.  
  391.     SOM_TRY
  392.         _fPart->FrameShapeChanged(ev,frame);
  393.     SOM_CATCH_ALL
  394.     SOM_ENDTRY
  395. }
  396.  
  397. SOM_Scope void  SOMLINK som_SamplePart__ViewTypeChanged(SampleCode_som_SamplePart *somSelf, Environment *ev,
  398.         ODFrame* frame)
  399. {
  400.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  401.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__ViewTypeChanged");
  402.  
  403.     SOM_TRY
  404.         _fPart->ViewTypeChanged(ev,frame);
  405.     SOM_CATCH_ALL
  406.     SOM_ENDTRY
  407. }
  408.  
  409. SOM_Scope void  SOMLINK som_SamplePart__PresentationChanged(SampleCode_som_SamplePart *somSelf, Environment *ev,
  410.         ODFrame* /*frame*/)
  411. {
  412.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__PresentationChanged");
  413. }
  414.  
  415. SOM_Scope void  SOMLINK som_SamplePart__SequenceChanged(SampleCode_som_SamplePart *somSelf, Environment *ev,
  416.         ODFrame* /*frame*/)
  417. {
  418.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__SequenceChanged");
  419. }
  420.  
  421. SOM_Scope void  SOMLINK som_SamplePart__ClonePartInfo(SampleCode_som_SamplePart *somSelf, Environment *ev,
  422.         ODDraftKey key,
  423.         ODInfoType partInfo,
  424.         ODStorageUnitView* storageUnitView,
  425.         ODFrame* scopeFrame)
  426. {
  427.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  428.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__ClonePartInfo");
  429.  
  430.     SOM_TRY
  431.         _fPart->ClonePartInfo(ev,key,partInfo,storageUnitView,scopeFrame);
  432.     SOM_CATCH_ALL
  433.     SOM_ENDTRY
  434. }
  435.  
  436. SOM_Scope void  SOMLINK som_SamplePart__WritePartInfo(SampleCode_som_SamplePart *somSelf, Environment *ev,
  437.         ODInfoType partInfo,
  438.         ODStorageUnitView* storageUnitView)
  439. {
  440.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  441.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__WritePartInfo");
  442.  
  443.     SOM_TRY
  444.         _fPart->WritePartInfo(ev,partInfo,storageUnitView);
  445.     SOM_CATCH_ALL
  446.     SOM_ENDTRY
  447. }
  448.  
  449. SOM_Scope ODInfoType  SOMLINK som_SamplePart__ReadPartInfo(SampleCode_som_SamplePart *somSelf, Environment *ev,
  450.         ODFrame* frame,
  451.         ODStorageUnitView* storageUnitView)
  452. {
  453.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  454.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__ReadPartInfo");
  455.  
  456.     ODInfoType result;
  457.  
  458.     SOM_TRY
  459.         result = _fPart->ReadPartInfo(ev,frame,storageUnitView);
  460.     SOM_CATCH_ALL
  461.         result = kODNULL;
  462.     SOM_ENDTRY
  463.  
  464.     return result;
  465. }
  466.  
  467. SOM_Scope ODID  SOMLINK som_SamplePart__Open(SampleCode_som_SamplePart *somSelf, Environment *ev,
  468.         ODFrame* frame)
  469. {
  470.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  471.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__Open");
  472.  
  473.     ODID result;
  474.  
  475.     SOM_TRY
  476.         result = _fPart->Open(ev,frame);
  477.     SOM_CATCH_ALL
  478.         result = kODNULLID;
  479.     SOM_ENDTRY
  480.  
  481.     return result;
  482. }
  483.  
  484. SOM_Scope ODFrame*  SOMLINK som_SamplePart__RequestEmbeddedFrame(SampleCode_som_SamplePart *somSelf, Environment *ev,
  485.         ODFrame* containingFrame,
  486.         ODFrame* baseFrame,
  487.         ODShape* frameShape,
  488.         ODPart* embeddedPart,
  489.         ODTypeToken viewType,
  490.         ODTypeToken presentation,
  491.         ODBoolean isOverlaid)
  492. {
  493.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__RequestEmbeddedFrame");
  494.  
  495.     return kODNULL;
  496. }
  497.  
  498. SOM_Scope void  SOMLINK som_SamplePart__RemoveEmbeddedFrame(SampleCode_som_SamplePart *somSelf, Environment *ev,
  499.         ODFrame* /*embeddedFrame*/)
  500. {
  501.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__RemoveEmbeddedFrame");
  502. }
  503.  
  504. SOM_Scope ODShape*  SOMLINK som_SamplePart__RequestFrameShape(SampleCode_som_SamplePart *somSelf, Environment *ev,
  505.         ODFrame* /*embeddedFrame*/,
  506.         ODShape* /*frameShape*/)
  507. {
  508.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__RequestFrameShape");
  509.  
  510.     return kODNULL;
  511. }
  512.  
  513. SOM_Scope void  SOMLINK som_SamplePart__UsedShapeChanged(SampleCode_som_SamplePart *somSelf, Environment *ev,
  514.         ODFrame* /*embeddedFrame*/)
  515. {
  516.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__UsedShapeChanged");
  517. }
  518.  
  519. SOM_Scope ODStorageUnit*  SOMLINK som_SamplePart__AcquireContainingPartProperties(SampleCode_som_SamplePart *somSelf, Environment *ev,
  520.         ODFrame* frame)
  521. {
  522.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__GetContainingPartProperties");
  523.  
  524.     return kODNULL;
  525. }
  526.  
  527. SOM_Scope ODShape*  SOMLINK som_SamplePart__AdjustBorderShape(SampleCode_som_SamplePart *somSelf, Environment *ev,
  528.         ODFacet* /*embeddedFacet*/,
  529.         ODShape* /*shape*/)
  530. {
  531.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__AdjustBorderShape");
  532.  
  533.     return kODNULL;
  534. }
  535.  
  536. SOM_Scope void  SOMLINK som_SamplePart__FacetAdded(SampleCode_som_SamplePart *somSelf, Environment *ev,
  537.         ODFacet* facet)
  538. {
  539.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  540.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__FacetAdded");
  541.  
  542.     SOM_TRY
  543.         _fPart->FacetAdded(ev,facet);
  544.     SOM_CATCH_ALL
  545.     SOM_ENDTRY
  546. }
  547.  
  548. SOM_Scope void  SOMLINK som_SamplePart__FacetRemoved(SampleCode_som_SamplePart *somSelf, Environment *ev,
  549.         ODFacet* facet)
  550. {
  551.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  552.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__FacetRemoved");
  553.  
  554.     SOM_TRY
  555.         _fPart->FacetRemoved(ev,facet);
  556.     SOM_CATCH_ALL
  557.     SOM_ENDTRY
  558. }
  559.  
  560. SOM_Scope void  SOMLINK som_SamplePart__CanvasChanged(SampleCode_som_SamplePart *somSelf, Environment *ev,
  561.         ODFacet* /*facet*/)
  562. {
  563.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__CanvasChanged");
  564. }
  565.  
  566. SOM_Scope void  SOMLINK som_SamplePart__GeometryChanged(SampleCode_som_SamplePart *somSelf, Environment *ev,
  567.         ODFacet* facet,
  568.         ODBoolean clipShapeChanged,
  569.         ODBoolean externalTransformChanged)
  570. {
  571.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  572.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__GeometryChanged");
  573.  
  574.     SOM_TRY
  575.         _fPart->GeometryChanged(ev,facet,clipShapeChanged,externalTransformChanged);
  576.     SOM_CATCH_ALL
  577.     SOM_ENDTRY
  578. }
  579.  
  580. SOM_Scope void  SOMLINK som_SamplePart__Draw(SampleCode_som_SamplePart *somSelf, Environment *ev,
  581.         ODFacet* facet,
  582.         ODShape* invalidShape)
  583. {
  584.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  585.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__Draw");
  586.  
  587.     SOM_TRY
  588.         _fPart->Draw(ev,facet,invalidShape);
  589.     SOM_CATCH_ALL
  590.     SOM_ENDTRY
  591. }
  592.  
  593. SOM_Scope void  SOMLINK som_SamplePart__CanvasUpdated(SampleCode_som_SamplePart *somSelf, Environment *ev,
  594.         ODCanvas* /*canvas*/)
  595. {
  596.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__CanvasUpdated");
  597. }
  598.  
  599. SOM_Scope void  SOMLINK som_SamplePart__HighlightChanged(SampleCode_som_SamplePart *somSelf, Environment *ev,
  600.         ODFacet* facet)
  601. {
  602.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  603.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__HighlightChanged");
  604.  
  605.     SOM_TRY
  606.         _fPart->HighlightChanged(ev,facet);
  607.     SOM_CATCH_ALL
  608.     SOM_ENDTRY
  609. }
  610.  
  611. SOM_Scope ODULong  SOMLINK som_SamplePart__GetPrintResolution(SampleCode_som_SamplePart *somSelf, Environment *ev,
  612.         ODFrame* /*frame*/)
  613. {
  614.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__GetPrintResolution");
  615.  
  616.     return kMinImagingResolution;
  617. }
  618.  
  619. SOM_Scope ODLinkSource*  SOMLINK som_SamplePart__CreateLink(SampleCode_som_SamplePart *somSelf, Environment *ev,
  620.         ODByteArray* /*data*/)
  621. {
  622.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__CreateLink");
  623.  
  624.     return kODNULL;
  625. }
  626.  
  627. SOM_Scope void  SOMLINK som_SamplePart__LinkUpdated(SampleCode_som_SamplePart *somSelf, Environment *ev,
  628.         ODLink* link,
  629.         ODUpdateID change)
  630. {
  631.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__LinkUpdated");
  632. }
  633.  
  634. SOM_Scope void  SOMLINK som_SamplePart__RevealLink(SampleCode_som_SamplePart *somSelf, Environment *ev,
  635.         ODLinkSource* /*linkSource*/)
  636. {
  637.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__RevealLink");
  638. }
  639.  
  640. SOM_Scope void  SOMLINK som_SamplePart__LinkStatusChanged(SampleCode_som_SamplePart *somSelf, Environment *ev,
  641.         ODFrame* /*frame*/)
  642. {
  643.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__LinkStatusChanged");
  644. }
  645.  
  646. SOM_Scope ODBoolean  SOMLINK som_SamplePart__BeginRelinquishFocus(SampleCode_som_SamplePart *somSelf, Environment *ev,
  647.         ODTypeToken focus,
  648.         ODFrame* ownerFrame,
  649.         ODFrame* proposedFrame)
  650. {
  651.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  652.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__BeginRelinquishFocus");
  653.  
  654.     ODBoolean result;
  655.  
  656.     SOM_TRY
  657.         result = _fPart->BeginRelinquishFocus(ev,focus,ownerFrame,proposedFrame);
  658.     SOM_CATCH_ALL
  659.         result = kODFalse;
  660.     SOM_ENDTRY
  661.  
  662.     return result;
  663. }
  664.  
  665. SOM_Scope void  SOMLINK som_SamplePart__CommitRelinquishFocus(SampleCode_som_SamplePart *somSelf, Environment *ev,
  666.         ODTypeToken focus,
  667.         ODFrame* ownerFrame,
  668.         ODFrame* proposedFrame)
  669. {
  670.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  671.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__CommitRelinquishFocus");
  672.  
  673.     SOM_TRY
  674.         _fPart->CommitRelinquishFocus(ev,focus,ownerFrame,proposedFrame);
  675.     SOM_CATCH_ALL
  676.     SOM_ENDTRY
  677. }
  678.  
  679. SOM_Scope void  SOMLINK som_SamplePart__AbortRelinquishFocus(SampleCode_som_SamplePart *somSelf, Environment *ev,
  680.         ODTypeToken focus,
  681.         ODFrame* ownerFrame,
  682.         ODFrame* proposedFrame)
  683. {
  684.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  685.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__AbortRelinquishFocus");
  686.  
  687.     SOM_TRY
  688.         _fPart->AbortRelinquishFocus(ev,focus,ownerFrame,proposedFrame);
  689.     SOM_CATCH_ALL
  690.     SOM_ENDTRY
  691. }
  692.  
  693. SOM_Scope void  SOMLINK som_SamplePart__FocusAcquired(SampleCode_som_SamplePart *somSelf, Environment *ev,
  694.         ODTypeToken focus,
  695.         ODFrame* ownerFrame)
  696. {
  697.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  698.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__FocusAcquired");
  699.  
  700.     SOM_TRY
  701.         _fPart->FocusAcquired(ev,focus,ownerFrame);
  702.     SOM_CATCH_ALL
  703.     SOM_ENDTRY
  704. }
  705.  
  706. SOM_Scope void  SOMLINK som_SamplePart__FocusLost(SampleCode_som_SamplePart *somSelf, Environment *ev,
  707.         ODTypeToken focus,
  708.         ODFrame* ownerFrame)
  709. {
  710.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  711.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__FocusLost");
  712.  
  713.     SOM_TRY
  714.         _fPart->FocusLost(ev,focus,ownerFrame);
  715.     SOM_CATCH_ALL
  716.     SOM_ENDTRY
  717. }
  718.  
  719. SOM_Scope void  SOMLINK som_SamplePart__CloneInto(SampleCode_som_SamplePart *somSelf, Environment *ev,
  720.         ODDraftKey key,
  721.         ODStorageUnit* toSU,
  722.         ODFrame* scope)
  723. {
  724.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  725.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__CloneInto");
  726.  
  727.     SOM_TRY
  728.         SampleCode_som_SamplePart_parent_ODPart_CloneInto(somSelf,ev,key,toSU,scope);
  729.         _fPart->CloneInto(ev,key,toSU,scope);
  730.     SOM_CATCH_ALL
  731.     SOM_ENDTRY
  732. }
  733.  
  734. SOM_Scope void  SOMLINK som_SamplePart__ExternalizeKinds(SampleCode_som_SamplePart *somSelf, Environment *ev,
  735.         ODTypeList* kindset)
  736. {
  737.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  738.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__ExternalizeKinds");
  739.  
  740.     SOM_TRY
  741.         _fPart->ExternalizeKinds(ev,kindset);
  742.     SOM_CATCH_ALL
  743.     SOM_ENDTRY
  744. }
  745.  
  746. SOM_Scope void  SOMLINK som_SamplePart__ChangeKind(SampleCode_som_SamplePart *somSelf, Environment *ev,
  747.         ODType kind)
  748. {
  749.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  750.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__ChangeKind");
  751.  
  752.     SOM_TRY
  753.         _fPart->ChangeKind(ev,kind);
  754.     SOM_CATCH_ALL
  755.     SOM_ENDTRY
  756. }
  757.  
  758. SOM_Scope ODBoolean  SOMLINK som_SamplePart__HandleEvent(SampleCode_som_SamplePart *somSelf, Environment *ev,
  759.         ODEventData* event,
  760.         ODFrame* frame,
  761.         ODFacet* facet,
  762.         ODEventInfo* eventInfo)
  763. {
  764.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  765.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__HandleEvent");
  766.  
  767.     ODBoolean result;
  768.  
  769.     SOM_TRY
  770.         result = _fPart->HandleEvent(ev,event,frame,facet,eventInfo);
  771.     SOM_CATCH_ALL
  772.         result = kODFalse;
  773.     SOM_ENDTRY
  774.  
  775.     return result;
  776. }
  777.  
  778. SOM_Scope void  SOMLINK som_SamplePart__AdjustMenus(SampleCode_som_SamplePart *somSelf, Environment *ev,
  779.         ODFrame* frame)
  780. {
  781.     SampleCode_som_SamplePartData *somThis = SampleCode_som_SamplePartGetData(somSelf);
  782.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__AdjustMenus");
  783.  
  784.     SOM_TRY
  785.         _fPart->AdjustMenus(ev,frame);
  786.     SOM_CATCH_ALL
  787.     SOM_ENDTRY
  788. }
  789.  
  790. SOM_Scope void  SOMLINK som_SamplePart__UndoAction(SampleCode_som_SamplePart *somSelf, Environment *ev,
  791.         ODActionData* /*actionState*/)
  792. {
  793.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__UndoAction");
  794. }
  795.  
  796. SOM_Scope void  SOMLINK som_SamplePart__RedoAction(SampleCode_som_SamplePart *somSelf, Environment *ev,
  797.         ODActionData* /*actionState*/)
  798. {
  799.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__RedoAction");
  800. }
  801.  
  802. SOM_Scope void  SOMLINK som_SamplePart__DisposeActionState(SampleCode_som_SamplePart *somSelf, Environment *ev,
  803.         ODActionData* ,
  804.         ODDoneState doneState)
  805. {
  806.     SampleCode_som_SamplePartMethodDebug("SampleCode_som_SamplePart","som_SamplePart__DisposeActionState");
  807. }
  808.